#pragma once

#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <cstdint>
#include <string>
#include "framework/dimension.h"

namespace cyb
{

class IContext
{
public:
	virtual void ProcessEvents() = 0;
	virtual bool IsOpen() = 0;
	virtual void Resize( const Dimension2i& resolution ) = 0;
	virtual void Title( const std::string& windowTitle ) = 0;
	virtual void ShowMouseCursor( bool show ) = 0;
	virtual void SwapBuffers() = 0;
};

}	// namespace cyb